package org.jeecg.modules.online.cgform.service;

import com.alibaba.fastjson.JSONObject;
import org.jeecg.modules.online.cgform.entity.OnlCgformButton;
import org.jeecg.modules.online.cgform.entity.OnlCgformEnhanceJs;
import org.jeecg.modules.online.cgform.entity.OnlCgformHead;
import org.jeecg.modules.online.cgform.model.OnlComplexModel;

import java.util.List;
import java.util.Map;

public interface IOnlineService {


    /**
     * 获取online单表 列表的配置信息 加缓存
     * @param head
     * @return
     */
    OnlComplexModel queryOnlineConfig(OnlCgformHead head, String username);

    /**
     * 查询表单配置信息 单表
     * @param head
     * @return
     */
    JSONObject queryOnlineFormObj(OnlCgformHead head, OnlCgformEnhanceJs onlCgformEnhanceJs);

    /**
     * 查询表单配置信息
     * @param head
     * @return
     */
    JSONObject queryOnlineFormObj(OnlCgformHead head, String username);


    /**
     * 查询有效的按钮
     * @param headId
     * @return
     */
    List<OnlCgformButton> queryFormValidButton(String headId);


    /**
     * 查询online表单配置信息 包含主子表
     * @param head
     * @return
     */
    JSONObject queryOnlineFormItem(OnlCgformHead head, String username);

    /**
     * 查询工作流表单 online配置信息
     * @param head
     * @param username
     * @param taskId
     * @return
     */
    JSONObject queryFlowOnlineFormItem(OnlCgformHead head, String username, String taskId);

    /**
     * 查询
     * @return
     */
    String queryEnahcneJsString(String code, String type);


}
